class Solution {
    public void merge(int[] nums1, int m, int[] nums2, int n) {
        if(n == 0) return ;
        if(m == 0) {
            // 这里有点恶心  必须拷贝到数组nums1中   不能直接nums1 = nums2
        System.arraycopy(nums2, 0, nums1, 0, n);
            return ;
        }
        // 思路反转 从后向前双指针比较
        int a = m + n;
        while(m >= 1 && n >= 1) {
            if(nums1[m - 1] > nums2[n - 1]) {
                nums1[--a] = nums1[-- m];
            } else {
                nums1[--a ] = nums2[-- n];
            }
              
        }

         while(n >= 1) {
            nums1[--a] = nums2[-- n];
        }
    }
}